class Description():
    def __init__(self):
        pass
 
def get_description():
    description ="""
        # 标准选项

        要将音频文件转录或翻译，可以复制来自网站的URL（YT-DLP支持的所有[网站](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)都可以，包括YouTube）。
        否则，上传音频文件（在文件选择器中选择“所有文件（。）”以选择任何文件类型，包括视频文件）或使用麦克风。

        对于较长的音频文件（> 10分钟），建议在VAD选项中选择Silero VAD（Voice Activity Detector），特别是如果您正在使用`large-v1`模型。请注意，`large-v2`模型更加宽容，但您可能仍然想使用稍高的“VAD - Max Merge Size（s）”（60秒或更长时间）的VAD。


        ## 模型
        选择Whisper将用于转录音频的模型：

        | 尺寸      | 参数 | 仅支持英语的模型 | 多语言模型 | 所需的显存 (VRAM) | 相对速度 |
        |-----------|------------|--------------------|--------------------|---------------|----------------|
        | tiny      | 39 M       | tiny.en            | tiny               | ~1 GB         | ~32x           |
        | base      | 74 M       | base.en            | base               | ~1 GB         | ~16x           |
        | small     | 244 M      | small.en           | small              | ~2 GB         | ~6x            |
        | medium    | 769 M      | medium.en          | medium             | ~5 GB         | ~2x            |
        | large     | 1550 M     | N/A                | large              | ~10 GB        | 1x             |
        | large-v2  | 1550 M     | N/A                | large              | ~10 GB        | 1x             |

        ## 语言

        选择语言，或将其留空以让Whisper自动检测语言。
        请注意，如果所选语言和音频中的语言不同，Whisper可能会开始将音频翻译为所选语言。
        例如，如果音频是英语，但您选择了日语，则模型可能会将音频翻译为日语。

        ## 输入

        “URL（YouTube等）”，“上传文件”或“麦克风输入”选项允许您将音频输入发送到模型。

        ### 多个文件

        请注意，界面只会处理给定的URL或上传的文件（包括麦克风）中的一个，而不是两者都处理。

        但是，您可以通过“上传文件”选项或YouTube的播放列表上传多个文件。然后将依次处理每个音频文件，并将生成的SRT / VTT /转录文本在“下载”部分中提供。
        当处理多个文件时，界面还会生成一个“All_Output” zip文件，其中包含所有文本输出文件。

        ## 任务

        选择任务 - 选择“transcribe”将音频转录为文本，选择“translate”将音频翻译为英文。

        ## 语音活性检测VAD

        使用VAD将提高每个转录行的定时准确性，并防止Whisper陷入无限循环，反复检测相同的句子。缺点是这可能会对文本准确性产生影响，特别是对于出现在音频中的唯一单词或名称。您可以通过增加提示窗口来弥补这一点。

        请注意，Whisper非常适合处理英语，不太容易出现与不良定时和无限循环相关的问题。因此，您可能只需要为其他语言（例如日语）或音频非常长时使用VAD。

        * none
            * 在整个音频输入上运行Whisper
        * silero-vad
            * 使用Silero VAD检测包含语音的部分，并在每个部分上独立运行Whisper。同时，Whisper还将在每个语音部分之间的间隙上运行，方法是将该部分扩展到最大合并大小或在非语音部分上独立运行Whisper。
        * silero-vad-expand-into-gaps
        * 使用Silero VAD检测包含语音的部分，并在每个部分上独立运行Whisper。每个语音部分都将被扩展以覆盖相邻的非语音部分。例如，如果一个持续一分钟的音频文件包含语音部分00:00-00:10（A）和00:30-00:40（B），则第一部分（A）将扩展到00:00-00:30，（B）将扩展到00:30-00:60。
        * silero-vad-skip-gaps
        * 与上述相同，但是根据Silero的结果跳过不包含语音的部分。这样会稍微快一些，但可能会导致对话被跳过。
        * periodic-vad
        * 每隔“VAD - Max Merge Size”秒创建语音部分。这非常快速简单，但可能会将一个句子或单词分成两个部分。

        ## VAD - 合并窗口

        如果设置了该参数，则任何相邻的语音部分，其时间间隔不超过该参数所设置的秒数，将自动合并。

        ## VAD - 最大合并大小（秒）

        如果相邻的语音部分的长度达到该参数所设置的秒数，则禁用它们的合并。

        ## VAD - 填充时间（秒）

        每个语音部分的开头和结尾增加的秒数（浮点数）。将其设置为大于零的数字可确保Whisper更有可能在语音部分开头正确转录句子。然而，这也增加了Whisper给每个转录行分配错误时间戳的概率。默认值为1秒。


        ## VAD - 提示窗口（秒）

        如果语音部分开始的时间和上一行结束的时间间隔不超过该参数所设置的秒数，则检测到的行的文本将作为提示包含在下一个语音部分中。例如，如果一行结束于10:00，下一个语音部分从10:04开始，则如果提示窗口为4秒或更长时间（10:04-10:00 = 4秒），将包含该行的文本。

        请注意，如果使用silero-vad或silero-vad-expand-into-gaps，则不会将检测到的行包含在语音部分之间的间隙中的提示中。

        # 命令行选项

        app.py和cli.py都接受命令行选项，例如启用多个CPU / GPU核心上的并行执行，设置默认模型名称/VAD等。有关更多信息，请查阅根文件夹中的README文件。


        # 其他选项

        除上述选项外，还有一个“完整”的选项界面，允许您设置Whisper模型中所有可用的选项。这些选项如下：

        ## 初始提示

        提供可选文本作为前30秒窗口的提示。Whisper将尝试使用此文本作为转录的起点，但您也可以发挥创意，为转录输出指定样式或格式。

        例如，如果您使用提示“hello how is it going always use lowercase no punctuation goodbye one two three start stop i you me they”，则Whisper会倾向于输出小写字母和无标点符号，并且可能会倾向于更频繁地输出提示中的单词。

        ## 温度

        进行采样时使用的温度。默认为0（零）。较高的温度会产生更多随机输出，而较低的温度则更加确定性。


        ## 最佳结果 - 非零温度

        使用非零温度进行采样时要从中采样的候选项数量。默认值为5。

        ## 束搜索大小 - 零温度

       使用零温度进行采样时在束搜索中使用的束数。默认值为5。

        ## 耐心 - 零温度

        在零温度下进行采样时，在束搜索中使用的耐心值。如https://arxiv.org/abs/2204.05424 所述， 默认值（1.0）等效于传统的束搜索。

        ## 长度惩罚 - 任何温度

        在任何温度下进行采样时使用的标记长度惩罚系数（alpha）。如https://arxiv.org/abs/1609.08144 所述，默认情况下使用简单的长度归一化。

        ## 抑制标记 - 逗号分隔的标记ID列表

        在采样过程中抑制的标记ID的逗号分隔列表。默认值“-1”将抑制除常见标点符号以外的大多数特殊字符。

        ## 以前文为条件

        如果为True，则将模型的先前输出提供为下一个窗口的提示。禁用此选项可能会导致窗口之间的文本不一致，但模型不太容易陷入失败循环中。

        ## FP16

        是否在fp16下执行推理。默认情况下为True。

        ## 回退时温度增量

        当解码未达到以下任一阈值时，降级时要增加的温度。默认为0.2。


        ## 压缩比阈值

        如果gzip压缩比高于此值，则将解码视为失败。默认为2.4。

        ## Logprob阈值

        如果平均对数概率低于此值，则将解码视为失败。默认为-1.0。


        ## 无语音阈值

        如果“<|nospeech|>”标记的概率高于此值且由于“logprob_threshold”而解码失败，则将该段视为静音。默认为0.6。
    """
    return description 
